"""
    Delicious WebService Client/Proxy
    
    @author: Jean-Lou Dupont
"""

import logging

class DeliciousAPI(WebAPI):
    """
    """
    
    def __init__(self):
        super(DeliciousAPI)
        
    def fetchStatus(self):
        pass
    
    def fetchBundles(self):
        pass
    
    def fetchTags(self, query):
        pass
    
    def fetchPosts(self, query):
        pass
    
#==================================================================
#==================================================================
class DeliciousModel(object):
    def __init__(self):
        pass
    
    @staticmethod
    def createFromXml(xml):
        pass

#==================================================================
#==================================================================

class Bundles(Object):
    """
        List of Bundles
    """
    def __init__(self):
        pass
    
class Bundle(Object):
    """
        A Bundle consists in a list of Tags
    """
    def __init__(self):
        pass

#==================================================================
#==================================================================

class Tags(Object):
    """
        List of Tags
        Uses Lazy initialization
        
    """
    def __init__(self, xml):
        self.xml  = xml
        self.init = False
        self.list = []
    
    @staticmethod
    def create(xml):
        """
            Creates a Tags object instance
            from the XML representation
        """
        return Tags(xml)
    
    def extractFromXml(self):
        #
        #
        self.init = True
    
    def __iter__(self):
        pass
    
#==================================================================
#==================================================================

class Posts(Object):
    """
        List of Posts
    """
    def __init__(self):
        pass

